<template>
  <TreeSelectComponent
    v-bind="$props"
    v-model="treeId"
    :empty-values="[0, '', undefined, null]"
    :url="urls.API_URL_BACKSTAGE_PERMISSION_TREE"
  />
</template>
<script lang="ts" setup>
/*
 *权限下拉树形菜单
 */
// import TreeSelect from '@/components/TreeSelect.vue';
import urls from '@/api/request/urls';
import TreeSelectComponent from '../base/form/TreeSelectComponent.vue';
import type { TreeData, TreeProps } from '@/types/interface/base_interface';

// 获取父组件传递过来的值
interface Props {
  url?: string; //服务端接口地址。和data一般是二选一，即如果是父组件已经传入了data则不不在从服务端读取数据
  data?: TreeData[]; //传入的数据。和url一般是二选一
  disabled?: boolean; // 可用性
  showCheckbox?: boolean; // 是否显示复选框
  selectWidth?: string; //下拉框宽度
  emptyValues?: Array<any>; //下拉框默认为空的值，如果有其他值需要自己单独传入
  defaultProps?: TreeProps; //自定义树形内容。如果与默认值不同，需要传入自己实际的树形内容对应属性
}
const props = withDefaults(defineProps<Props>(), {});

const treeId = defineModel<number>({
  required: false,
  default: 0
});
</script>
